The present invention relates to the fields of filesystems and operating systems, and more particularly to optimizing processing of I/O operations on a filesystem by an operating system. An operating system is system software that manages computer hardware and software resources and provides common services for computer programs. The operating system is a component of the system software in a computer system. With the aid of firmware and device drivers, the kernel of the operating system provides the most basic level of control over all of the computer's hardware devices. The kernel organizes data for long term storage with file systems on media such as disks, tapes, and flash memory.
A filesystem is used to control how data is stored and retrieved. The operating system enables a user application to access data stored by the filesystem. For example, the operating system may provide system calls that can be used by the user application program to open a file stored on the filesystem and read data from the opened file. However, the order at which the user application execute these system calls may cause unnecessary delays.